Dual Chain StrategyDual Chain Strategy - Technical Overview
How It Works:
The Dual Chain Strategy is a unique approach to trading that utilizes Exponential Moving Averages (EMAs) across different timeframes, creating two distinct "chains" of trading signals. These chains can work independently or together, capturing both long-term trends and short-term price movements.
Chain 1 (Longer-Term Focus):
Entry Signal: The entry signal for Chain 1 is generated when the closing price crosses above the EMA calculated on a weekly timeframe. This suggests the start of a bullish trend and prompts a long position.
bullishChain1 = enableChain1 and ta.crossover(src1, entryEMA1)
Exit Signal: The exit signal is triggered when the closing price crosses below the EMA on a daily timeframe, indicating a potential bearish reversal.
exitLongChain1 = enableChain1 and ta.crossunder(src1, exitEMA1)
Parameters: Chain 1's EMA length is set to 10 periods by default, with the flexibility for user adjustment to match various trading scenarios.
Chain 2 (Shorter-Term Focus):
Entry Signal: Chain 2 generates an entry signal when the closing price crosses above the EMA on a 12-hour timeframe. This setup is designed to capture quicker, shorter-term movements.
bullishChain2 = enableChain2 and ta.crossover(src2, entryEMA2)
Exit Signal: The exit signal occurs when the closing price falls below the EMA on a 9-hour timeframe, indicating the end of the shorter-term trend.
exitLongChain2 = enableChain2 and ta.crossunder(src2, exitEMA2)
Parameters: Chain 2's EMA length is set to 9 periods by default, and can be customized to better align with specific market conditions or trading strategies.
Key Features:
Dual EMA Chains: The strategy's originality shines through its dual-chain configuration, allowing traders to monitor and react to both long-term and short-term market trends. This approach is particularly powerful as it combines the strengths of trend-following with the agility of momentum trading.
Timeframe Flexibility: Users can modify the timeframes for both chains, ensuring the strategy can be tailored to different market conditions and individual trading styles. This flexibility makes it versatile for various assets and trading environments.
Independent Trade Logic: Each chain operates independently, with its own set of entry and exit rules. This allows for simultaneous or separate execution of trades based on the signals from either or both chains, providing a robust trading system that can handle different market phases.
Backtesting Period: The strategy includes a configurable backtesting period, enabling thorough performance assessment over a historical range. This feature is crucial for understanding how the strategy would have performed under different market conditions.
time_cond = time >= startDate and time <= finishDate
What It Does:
The Dual Chain Strategy offers traders a distinctive trading tool that merges two separate EMA-based systems into one cohesive framework. By integrating both long-term and short-term perspectives, the strategy enhances the ability to adapt to changing market conditions. The originality of this script lies in its innovative dual-chain design, providing traders with a unique edge by allowing them to capitalize on both significant trends and smaller, faster price movements.
Whether you aim to capture extended market trends or take advantage of more immediate price action, the Dual Chain Strategy provides a comprehensive solution with a high degree of customization and strategic depth. Its flexibility and originality make it a valuable tool for traders seeking to refine their approach to market analysis and execution.
How to Use the Dual Chain Strategy
Step 1: Access the Strategy
Add the Script: Start by adding the Dual Chain Strategy to your TradingView chart. You can do this by searching for the script by name or using the link provided.
Select the Asset: Apply the strategy to your preferred trading pair or asset, such as #BTCUSD, to see how it performs.
Step 2: Configure the Settings
Enable/Disable Chains:
The strategy is designed with two independent chains. You can choose to enable or disable each chain depending on your trading style and the market conditions.
enableChain1 = input.bool(true, title='Enable Chain 1')
enableChain2 = input.bool(true, title='Enable Chain 2')
By default, both chains are enabled. If you prefer to focus only on longer-term trends, you might disable Chain 2, or vice versa if you prefer shorter-term trades.
Set EMA Lengths:
Adjust the EMA lengths for each chain to match your trading preferences.
Chain 1: The default EMA length is 10 periods. This chain uses a weekly timeframe for entry signals and a daily timeframe for exits.
len1 = input.int(10, minval=1, title='Length Chain 1 EMA', group="Chain 1")
Chain 2: The default EMA length is 9 periods. This chain uses a 12-hour timeframe for entries and a 9-hour timeframe for exits.
len2 = input.int(9, minval=1, title='Length Chain 2 EMA', group="Chain 2")
Customize Timeframes:
You can customize the timeframes used for entry and exit signals for both chains.
Chain 1:
Entry Timeframe: Weekly
Exit Timeframe: Daily
tf1_entry = input.timeframe("W", title='Chain 1 Entry Timeframe', group="Chain 1")
tf1_exit = input.timeframe("D", title='Chain 1 Exit Timeframe', group="Chain 1")
Chain 2:
Entry Timeframe: 12 Hours
Exit Timeframe: 9 Hours
tf2_entry = input.timeframe("720", title='Chain 2 Entry Timeframe (12H)', group="Chain 2")
tf2_exit = input.timeframe("540", title='Chain 2 Exit Timeframe (9H)', group="Chain 2")
Set the Backtesting Period:
Define the period over which you want to backtest the strategy. This allows you to see how the strategy would have performed historically.
startDate = input.time(timestamp('2015-07-27'), title="StartDate")
finishDate = input.time(timestamp('2026-01-01'), title="FinishDate")
Step 3: Analyze the Signals
Understand the Entry and Exit Signals:
Buy Signals: When the price crosses above the entry EMA, the strategy generates a buy signal.
bullishChain1 = enableChain1 and ta.crossover(src1, entryEMA1)
Sell Signals: When the price crosses below the exit EMA, the strategy generates a sell signal.
bearishChain2 = enableChain2 and ta.crossunder(src2, entryEMA2)
Review the Visual Indicators:
The strategy plots buy and sell signals on the chart with labels for easy identification:
BUY C1/C2 for buy signals from Chain 1 and Chain 2.
SELL C1/C2 for sell signals from Chain 1 and Chain 2.
This visual aid helps you quickly understand when and why trades are being executed.
Step 4: Optimize the Strategy
Backtest Results:
Review the strategy’s performance over the backtesting period. Look at key metrics like net profit, drawdown, and trade statistics to evaluate its effectiveness.
Adjust the EMA lengths, timeframes, and other settings to see how changes affect the strategy’s performance.
Customize for Live Trading:
Once satisfied with the backtest results, you can apply the strategy settings to live trading. Remember to continuously monitor and adjust as needed based on market conditions.
Step 5: Implement Risk Management
Use Realistic Position Sizing:
Keep your risk exposure per trade within a comfortable range, typically between 1-2% of your trading capital.
Set Alerts:
Set up alerts for buy and sell signals, so you don’t miss trading opportunities.
Paper Trade First:
Consider running the strategy in a paper trading account to understand its behavior in real market conditions before committing real capital.
This dual-layered approach offers a distinct advantage: it enables the strategy to adapt to varying market conditions by capturing both broad trends and immediate price action without one chain's activity impacting the other's decision-making process. The independence of these chains in executing transactions adds a level of sophistication and flexibility that is rarely seen in more conventional trading systems, making the Dual Chain Strategy not just unique, but a powerful tool for traders seeking to navigate complex market environments.
Cerca negli script per "the script"
Pullback_Power [JackTz]Welcome to Pullback_Power
Pullback_Power is a scalping strategy designed to capitalize on market retracements while incorporating unique dynamic features to enhance profitability.
Calculation
Pullback_Power purely uses moving averages to calculate both entry and exits. Exits can also be set to fixed percentages for both take profit and stop loss.
How the Strategy Works
Statistics show that markets normally do a recovery after each drop. Crypto markets can easily drop up to 20% within a few hours and then do a complete or partial recovery. Pullback_Power utilizes this known pattern alongside pyramiding. The strategy aims to catch one or more entries when the price drops, hoping to make profits when the market recovers from the drop. The fixed take profit and stop loss can be used to define your risk management, while the dynamic exit opportunity is riskier but provides the ability to stay in the trade longer while it recovers. Pullback_Power can make up to four entries. This means it utilizes pyramiding to spread out the entry points, but every exit is a full exit. It is not possible to partially exit.
Utility
Pullback_Power is a scalping strategy suitable for traders who operate with small trades and don't want to stay in the market for too long. Pullback_Power offers precise signals with no repainting. The strategy thrives in volatility, so crypto pairs might yield the best results, although this strategy can be adapted to work on all pairs and markets.
How to Automate It
Pullback_Power utilizes the standard placeholders of strategies on TradingView. This enables the trader to add every data point into a webhook, making it fully flexible to suit every trader's needs. To automate, create an alert, set the webhook URL, and add the JSON body needed for the webhook. An example of a simple JSON webhook with some of the standard strategy placeholders:
{
"side": "{{strategy.order.action}}",
"symbol": "{{ticker}}",
"amount": "{{strategy.order.contracts}}"
}
Read about all the standard placeholders that you can use here: TradingView - Standard strategy placeholders
Originality
Pullback_Power is unique in its ability to create precise signals without repainting while maintaining a solid approach to the pullback strategy. Its simplicity not only makes the strategy easy to use and understand but also highly effective. The simplicity reduces inputs, eliminating overfitting and limits each input to avoid incorrect usage. Many times, default settings are enough to achieve good backtesting results on almost all pairs available. Pullback_Power also differs from many other strategies by its solid code, which enhances performance and provides more reliable backtesting. The clean code increases the resilience and precision of the entries, making it less prone to errors.
Many pullback/scalping strategies normally only works on specific scopes of timeframes or pairs. Pullback_Power can easily be adapted to work on almost every scenario. The biggest change needed is the length of the moving average. The lower the timeframe, the higher a length is needed for proper results. I.e. on a 2H timeframe a length of 3 can yield good results. On a 5min timeframe the length might need to be as high as 70.
How to Use
To use Pullback_Power, add the script to your trading chart. By default, Pullback_Power opens four orders to optimize trade opportunities with a default fee value set at 0.1%. You can change these default settings in the Settings window under the Properties tab. To tailor Pullback_Power to your individual trading style, navigate to the Settings under the Input tab. Here you can configure various inputs to fit your trading style.
- Backtest settings , Start Date:
Defines the date of when the calculation starts. Use this to set the date of when the first trade could potentially emit.
- Backtest settings , End Date:
Defines the date of when the calculation ends. If there are any open trades after this date the close calculations are still live. It only makes sure that new orders cannot be opened after this date.
- Backtest settings , Only trade on weekdays:
This is a toggle you can enable or disable. If enabled it only allows new entries to happen during the normal week days, meaning Monday, Tuesday, Wednesday, Thursday and Friday.
Disable this to enable the script to open trades on all 7 days of the week.
- Open settings , Use dynamic long positions:
This toggle allows you to enable or disable the pullback level calculations after first trade.
If enabled, the calculations of level 2, 3 and 4 continues to happen after each bar, making the levels follow the price with the moving averages calculations.
If disabled, the calculations of the levels stop after the first trade. This means that the levels calculation at the point of the first trade stay fixed until all trades are closed.
You can see the difference of the green lines on the chart when you toggle this flag.
- Open settings , Data type:
This is the bar data used for the moving average calculation when opening trades. The possible data types are Open, High, Low, Close, HL2, HLC3, OHLC4, OC2 and HC2.
- Open settings , Source type:
This is the source used to calculate the moving average. The types available are: SMA, PCMA, EMA, WMA, DEMA, ZLEMA and HMA.
- Open settings , Length:
This is the length used for the moving average calculations. 3 means it takes the last 3 bars of historical data for the calculation.
- Open settings , Offset:
This defines if the calculation should use an offset for the historical data. This does not use a look-forward feature, but a look-backward feature. To prevent any possible repaints the offset can only be positive, not negative.
For instance, if the length is 3 and the offset is 0 the calculation is made from the last 3 bars, making it bar1, bar2 and bar3. If the length is 3 and the offset is 1 the calculation is made from bar2, bar3, and bar4 – offsetting the calculation by 1 bar.
- Leverage settings , Leverage liquidation (1-125):
The script itself does not handle any custom leverage calculation – this must be done in the Properties tabs and increasing the order size.
This setting is made to test a possible liquidation event if using leverage.
By setting this to higher than 1, a red line is visible after the first trade on the chart. This indicates the liquidation price.
If this setting is set to 25, the script will calculate the liquidation price from a x25 leverage. If this price is hit, the scripts stops emitting any orders and the background turns red.
You can use this to test if your settings could handle a certain level of leverage.
- Pullback settings , Pullback 1, 2, 3 and 4:
Each of these settings defines the entry price of each pullback level. If Pullback 1 is set to -6 it means that the moving average calculation should be 6% lower than the actual price.
The same logic applies to Pullback 2, 3 and 4.
Setting any level to 0 will disable the level – eliminating any orders to emit on that level.
This can be used to change the level of pyramiding down from 4 if needed.
If you do this, remember to also change the order size and the pyramiding value in the Properties tab accordingly.
- Close settings , Use dynamic TP and SL:
If enabled, script will exit all orders using the same but separate algorithm for moving averages. This enables the user to define if you want the orders to be closed if the price level of this moving average is hit. The price level for this calculation is visible on the chart by the blue line.
Although you can change the length and offset, as described underneath, this calculation uses the same data and source type defined in the Open settings area.
- Close settings , Length, Close:
This is the length used for the closing moving average calculations. 3 means it takes the last 3 bars of historical data for the calculation.
- Close settings , Offset, Close:
This defines if the calculation for the closing moving average should use an offset for the historical data. Just as the offset used for opening order, this does not use a look-forward feature, but a look-backward feature. To prevent any possible repaints the offset can only be positive, not negative.
For instance, if the length is 3 and the offset is 0 the calculation is made from the last 3 bars, making it bar1, bar2 and bar3. If the length is 3 and the offset is 1 the calculation is made from bar2, bar3, and bar4 – offsetting the calculation by 1 bar.
- Close settings , Use TakeProfit:
This toggle enables/disables a fixed take profit percentage.
- Close settings , TP %:
This sets the wanted % to reach on a take profit. This setting is ignored if the toggle above is disabled.
- Close settings , Use StopLoss:
This toggle enables/disables a fixed stop loss percentage.
- Close settings , SL %:
This sets the wanted % to reach on a stop loss. This setting is ignored if the toggle above is disabled.
Exit on Same Bar as Entry
By default, the script doesn't emit any exit orders on the same bar as the first entry order. Enable "Recalculation: After order is filled" to change this behavior.
Troubleshooting
While Pullback_Power is designed to provide reliable trading signals, you may encounter rare issues. One such issue could be receiving an error message stating "can't open orders with 0 or negative qty." If you encounter this error, it is likely due to specific conditions on the selected timeframe. To resolve this issue, change the timeframe on your trading chart.
Underlying Principles and Value Proposition
Pullback_Power leverages moving averages and volatility behavior to identify market retracements and capitalize on them. The strategy is rooted in the understanding that markets often experience temporary reversals or "pullbacks" before resuming their primary trend. By identifying these pullbacks and entering trades at opportune moments, Pullback_Power aims to capture quick profits from short-term market movements.
The dynamic and fixed calculations of Take Profit (TP) and Stop Loss (SL) levels enhances risk management, ensuring that potential losses are controlled while allowing room for profits to grow. The adaptive approach using the moving averages considers current market conditions, making the strategy flexible and responsive to changing volatility.
Moreover, Pullback_Power's non-repainting nature ensures the reliability of its signals, eliminating hindsight bias and providing traders with actionable insights based on real-time market data.
The strategy's simplicity and effectiveness make it accessible for traders of all experience levels. Whether you're a beginner looking to start scalping or an experienced trader seeking to diversify your trading approach, Pullback_Power offers a balanced blend of simplicity and sophistication to help you navigate the markets with confidence.
By focusing on clear, transparent principles and offering practical tools for risk management, Pullback_Power aims to provide tangible value to traders, empowering them to make informed decisions and optimize their trading outcomes.
Thank you for choosing Pullback_Power. I wish you successful trading!
Bitcoin Momentum StrategyThis is a very simple long-only strategy I've used since December 2022 to manage my Bitcoin position.
I'm sharing it as an open-source script for other traders to learn from the code and adapt it to their liking if they find the system concept interesting.
General Overview
Always do your own research and backtesting - this script is not intended to be traded blindly (no script should be) and I've done limited testing on other markets beyond Ethereum and BTC, it's just a template to tweak and play with and make into one's own.
The results shown in the strategy tester are from Bitcoin's inception so as to get a large sample size of trades, and potential returns have diminished significantly as BTC has grown to become a mega cap asset, but the script includes a date filter for backtesting and it has still performed solidly in recent years (speaking from personal experience using it myself - DYOR with the date filter).
The main advantage of this system in my opinion is in limiting the max drawdown significantly versus buy & hodl. Theoretically much better returns can be made by just holding, but that's also a good way to lose 70%+ of your capital in the inevitable bear markets (also speaking from experience).
In saying all of that, the future is fundamentally unknowable and past results in no way guarantee future performance.
System Concept:
Capture as much Bitcoin upside volatility as possible while side-stepping downside volatility as quickly as possible.
The system uses a simple but clever momentum-style trailing stop technique I learned from one of my trading mentors who uses this approach on momentum/trend-following stock market systems.
Basically, the system "ratchets" up the stop-loss to be much tighter during high bearish volatility to protect open profits from downside moves, but loosens the stop loss during sustained bullish momentum to let the position ride.
It is invested most of the time, unless BTC is trading below its 20-week EMA in which case it stays in cash/USDT to avoid holding through bear markets. It only trades one position (no pyramiding) and does not trade short, but can easily be tweaked to do whatever you like if you know what you're doing in Pine.
Default parameters:
HTF: Weekly Chart
EMA: 20-Period
ATR: 5-period
Bar Lookback: 7
Entry Rule #1:
Bitcoin's current price must be trading above its higher-timeframe EMA (Weekly 20 EMA).
Entry Rule #2:
Bitcoin must not be in 'caution' condition (no large bearish volatility swings recently).
Enter at next bar's open if conditions are met and we are not already involved in a trade.
"Caution" Condition:
Defined as true if BTC's recent 7-bar swing high minus current bar's low is > 1.5x ATR, or Daily close < Daily 20-EMA.
Trailing Stop:
Stop is trailed 1 ATR from recent swing high, or 20% of ATR if in caution condition (ie. 0.2 ATR).
Exit on next bar open upon a close below stop loss.
I typically use a limit order to open & exit trades as close to the open price as possible to reduce slippage, but the strategy script uses market orders.
I've never had any issues getting filled on limit orders close to the market price with BTC on the Daily timeframe, but if the exchange has relatively low slippage I've found market orders work fine too without much impact on the results particularly since BTC has consistently remained above $20k and highly liquid.
Cost of Trading:
The script uses no leverage and a default total round-trip commission of 0.3% which is what I pay on my exchange based on their tier structure, but this can vary widely from exchange to exchange and higher commission fees will have a significantly negative impact on realized gains so make sure to always input the correct theoretical commission cost when backtesting any script.
Static slippage is difficult to estimate in the strategy tester given the wide range of prices & liquidity BTC has experienced over the years and it largely depends on position size, I set it to 150 points per buy or sell as BTC is currently very liquid on the exchange I trade and I use limit orders where possible to enter/exit positions as close as possible to the market's open price as it significantly limits my slippage.
But again, this can vary a lot from exchange to exchange (for better or worse) and if BTC volatility is high at the time of execution this can have a negative impact on slippage and therefore real performance, so make sure to adjust it according to your exchange's tendencies.
Tax considerations should also be made based on short-term trade frequency if crypto profits are treated as a CGT event in your region.
Summary:
A simple, but effective and fairly robust system that achieves the goals I set for it.
From my preliminary testing it appears it may also work on altcoins but it might need a bit of tweaking/loosening with the trailing stop distance as the default parameters are designed to work with Bitcoin which obviously behaves very differently to smaller cap assets.
Good luck out there!
Crypto Punk [Bot] (Zeiierman)█ Overview
The Crypto Punk (Zeiierman) is a trading strategy designed for the dynamic and volatile cryptocurrency market. It utilizes algorithms that incorporate price action analysis and principles inspired by Geometric Brownian Motion (GBM). The bot's core functionality revolves around analyzing differences in high and low prices over various timeframes, estimating drift (trend) and volatility, and applying this information to generate trading signals.
█ How to use the Crypto Punk Bot
Utilize the Crypto Punk Bot as a technical analysis tool to enhance your trading strategy. The signals generated by the bot can serve as a confirmation of your existing approach to entering and exiting the market. Additionally, the backtest report provided by the bot is a valuable resource for identifying the optimal settings for the specific market and timeframe you are trading in.
One method is to use the bot's signals to confirm entry points around key support and resistance levels.
█ Key Features
Let's explain how the core features work in the strategy.
⚪ Strategy Filter
The strategy filter plays a vital role in the entries and exits. By setting this filter, the bot can identify higher or lower price points at which to execute trades. Opting for higher values will make the bot target more long-term extreme points, resulting in fewer but potentially more significant signals. Conversely, lower values focus on short-term extreme points, offering more frequent signals focusing on immediate market movements.
How is it calculated?
This filter identifies significant price points within a specified dynamic range by applying linear regression to the absolute deviation of the range, smoothing out fluctuations, and determining the trend direction. The algorithm then normalizes the data and searches for extreme points.
⚪ External AI filter
The external AI filter allows traders to incorporate two external sources as signal filters. This feature is particularly useful for refining their signal accuracy with additional data inputs.
External sources can include any indicator applied to your TradingView chart that produces a plot as an output, such as a moving average, RSI, supertrend, MACD, etc. Traders can use these indicators of their choice to set filters for screening signals within the strategy.
This approach offers traders increased flexibility to select filters that align with their trading style. For instance, one trader might prefer to take trades when the price is above a moving average, while another might opt for trades when the MACD is below the MACD signal line. These external filters enable traders to choose options that best fit their trading strategies. See the example below. Note that the input sources for the External AI filter can be any indicator applied to the chart, and the input source per se does not make this strategy unique. The AI filter takes the selected input source and applies our function to it. So, if a trader selects RSI as an input filter, RSI is not unique, but how the source is computed within the AI functions is.
How is it calculated?
Once the external filters are selected and enabled within the settings panel, our AI function is applied to enhance the filter's ability to execute trades, even when the set conditions of the filter are not met. For instance, if a trader wants to take trades only when the price is above a moving average, the AI filter can actually execute trades even if the price is below the moving average.
The filter works by combining k-nearest Neighbors (KNN) with Geometric Brownian Motion (GBM) involves first using GBM to model the historical price trends of an asset, identifying patterns of drift and volatility. KNN is then applied to compare the current market conditions with historical instances, identifying the closest matches based on similar market behaviors. By examining the drift values of these nearest historical neighbors, KNN predicts the current trend's direction.
The AI adaptability value is a setting that determines how flexible the AI algorithm is when applying the external AI filter. Setting the adaptability to 10 indicates minimal adaptability, suggesting that the bot will strictly adhere to the set filter criteria. On the other hand, a higher adaptability value grants the algorithm more leeway to "think outside the box," allowing it to consider signals that may not strictly meet the filter criteria but are deemed viable trading opportunities by the AI.
█ Examples
In this example, the RSI is used to filter out signals when the RSI is below the smoothing line, indicating that prices are declining.
Note that the external filter is specifically designed to work with either 'LONG ONLY' or 'SHORT ONLY' modes; it does not apply when the bot is set to trade on 'BOTH' modes. For 'LONG ONLY' positions, the filter criteria are met when source 1 is greater than source 2 (source 1 >= source 2). Conversely, for 'SHORT ONLY' positions, the filter criteria require source 1 to be less than source 2 (source 1 <= source 2).
Examples of Filter Usage:
Long Signals: To receive long signals when the closing price is higher than a moving average, set Source 1 to the 'close' price and Source 2 to a moving average value. This setup ensures that signals are generated only when the closing price exceeds the moving average, indicating a potential upward trend.
█ Settings
⚪ Set Timeframe
Choosing the correct entry and exit timeframes is crucial for the bot's performance. The general guideline is to select a timeframe that is higher than the one currently displayed on the trading chart but still relatively close in duration. For instance, if trading on a 1-minute chart, setting the bot's Timeframe to 5 minutes is advisable.
⚪ Entry
Traders have the flexibility to configure the bot according to their trading strategy, allowing them to choose whether the bot should engage in long positions only, short positions only or both. This customization ensures that the bot aligns with the trader's market outlook and risk tolerance.
⚪ Pyramiding
Pyramiding functionality is available to enhance the bot's trading strategy. If the current position experiences a drawdown by a specified number of points, the bot is programmed to add new positions to the existing one, potentially capitalizing on lower prices to average down the entry cost. To utilize this feature, access the settings panel, navigate to 'Properties,' and look for 'Pyramiding' to specify the number of times the bot can re-enter the market (e.g., setting it to 2 allows for two additional entries).
⚪ Risk Management
The bot incorporates several risk management methods, including a regular stop loss, trailing stop, and risk-reward-based stop loss and exit strategies. These features assist traders in managing their risk.
Stop Loss
Trailing Stop
⚪ Trading on specific days
This feature allows trading on specific days by setting which days of the week the bot can execute trades on. It enables traders to tailor their strategies according to market behavior on particular days.
⚪ Alerts
Alerts can be set for entry, exit, and risk management. This feature allows traders to automate their trading strategy, ensuring timely actions are taken according to predefined criteria.
█ How is Crypto Punk calculated?
The Crypto Punk Bot is a trading bot that utilizes a combination of price action analysis and elements inspired by Geometric Brownian Motion (GBM) to generate buy and sell signals for cryptocurrencies. The bot focuses on analyzing the difference between high and low prices over various timeframes, alongside estimates of drift (trend) and volatility derived from GBM principles.
Timeframe Analysis for Price Action
The bot examines multiple timeframes (e.g., daily, weekly) to identify the range between the highest and lowest prices within each period. This range analysis helps in understanding market volatility and the potential for significant price movements. The algorithm calculates the trading range by applying maximum and minimum functions to the set of prices over your selected timeframe. It then subtracts these values to determine the range's width. This method offers a quantitative measure of the asset's price volatility for the specified period.
Estimating Drift (Trend)
The bot estimates the drift component, which reflects the underlying trend or expected return of the cryptocurrency. The algorithm does this by estimating the drift (trend) using Geometric Brownian Motion (GBM), which involves determining an asset's average rate of return over time, reflecting the asset's expected direction of movement.
Estimating Volatility
Volatility is estimated by calculating the standard deviation of the logarithmic returns of the cryptocurrency's price over the same timeframe used for the drift calculation. Geometric Brownian Motion (GBM) involves measuring the extent of variation or dispersion in the returns of an asset over time. In the context of GBM, volatility quantifies the degree to which the price of an asset is expected to fluctuate around its drift.
Combining Drift and Volatility for Signal Generation
The bot uses the calculated drift and volatility to understand the current market conditions. A higher drift coupled with manageable volatility may indicate a strong upward trend, suggesting a potential buy signal. Conversely, a low or negative drift with increasing volatility might suggest a weakening market, triggering a sell signal.
█ Strategy Properties
This script backtest is done on the 1 hour chart Bitcoin, using the following backtesting properties:
Balance (default): 10 000 (default base currency)
Order Size: 10% of the equity
Commission: 0.05 %
Slippage: 500 ticks
Stop Loss: Risk Reward set to 1
These parameters are set to provide an accurate representation of the backtesting environment. It's important to recognize that default settings may vary for several reasons outlined below:
Order Size: The standard is set at one contract to facilitate compatibility with a wide range of instruments, including futures.
Commission: This fee is subject to fluctuation based on the specific market and financial instrument, and as such, there isn't a standard rate that will consistently yield accurate outcomes.
We advise users to customize the Script Properties in the strategy settings to match their personal trading accounts and preferred platforms. This adjustment is crucial for obtaining practical insights from the deployed strategies.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
IchiBot - [SigmaStreet]
The IchiBot Indicator has been used to develop automated trading systems. It leverages the open-source Ichimoku framework provided by Trading View, to enable users to creatively generate over 1 trillion different combinations of trading conditions with the use of multiple timeframes to create unique “signal labels” that can be used to create custom strategies or provide in depth market analysis. At the end of this description, I have provided an example of input settings for a simple scalping strategy that I have back tested on US30 on the 5 minute timeframe.
Overview of the Settings:
The visuals section includes an option to show or hide certain parts of the indicator and change the size of the signal labels plotted on the chart.
Next to the “Signal color on baseline/candles” section, you can choose if you want to see additional signals generations from the most previous plotted label on a color changing baseline, or color changing candles. A color change from gray to blue/red indicate that the conditions from the most previously plotted signal label have been met again.
The next 5 sections are all related to the strategy portion of the indicator, used to aid in the back testing process. These sections are titled “Stop loss”, “Take Profit”, “Trail Stop”, “Trade Settings” and “Trade Schedule”.
The Stop Loss section includes an option to choose between value of “pts”, “atr” (average true range) or “None”. The stop loss value in “pts” is simply a specified number of points or pips from the current entry price of a trade that are input in the “SL” section. If the stop loss type is “atr” the “SL” section is not used and the value is calculated and displaced from the current entry price of a trade based on the atr period multiplied by the atr multiplier.
The take profit section is based on the same logic as the stop loss.
The Trail Stop section includes an option to choose between values “pts” or “None”. If the Trail Stop value is “pts”, a trailing stop loss is activated if a trade moves a point value into profit that exceeds the value of the “Trail Activation”. If the Trail Offset type is “pts”, the trailing stop loss is placed a point value away from the current price that is equal to the “Trail Offset” value.
The trade settings section has two options to either prevent or allow trade reversals and prevent or allow only 1 trade per signal label.
If the “Don’t allow trade reversals” is on, then a currently active trade can not be cancelled by an opposite trade signal. It can only be cancelled by the exit logic selected in the above sections. If the “One trade per signal” is selected, the strategy will only enter a trade if the most recent signal label is different from the last signal label where a trade was entered, or if the most recent signal label is in the opposite direction of the most recent signal label where a trade was entered.
The trade schedule section includes an option to only generate signal labels during the specified time. You can choose between 24/7 which will generate signals without any time restriction, or you can choose a custom time which is based on the America / New York time zone.
The timeframe settings section includes an option to choose “single” or “multiple” timeframes, as well as an option to show every signal label combination (“all”), or only the signal labels with the highest numerical value (“absolute”).
If you select “single” next to “timeframe”, the indicator will show you labels based on trade conditions met from only 1 selected timeframe. If you select “multiple” next to “timeframe”, the indicator is designed to return signal labels based on trade conditions that have been met on at least 2 different timeframes.
If you select “multiple” and “use current timeframe”, the indicator will include labels that always include a minimum of 2 timeframes where 1 timeframe is always the current timeframe. If you unselect the “use current timeframe”, the indicator will include labels with a minimum of 2 timeframes.
If you select “multiple” next to “timeframe” and “all” next to “Show all/absolute labels”, the indicator will show you every possible combination of labels that vary from trade conditions met on a minimum of 2 timeframes, to the maximum number of timeframes selected.
If you select “multiple” next to “timeframe” and “absolute” next to “Show all/absolute labels”, the indicator will only show you labels where the numerical value is equivalent to the maximum number of timeframes selected.
Each signal label provides a number which refers to the number of timeframes used to generate the label, offering insights briefly. Hover over a label to reveal detailed tooltip information that details the exact timeframes used to generate each label.
You can choose all from “Show all/absolute labels” to see every possible combination of trade signals or “absolute” to only see labels that have the highest possible numerical value. Absolute means that every condition selected from every timeframe was calculated to be true at the same time on the same candle.
The next 8 sections are “Current timeframe trade conditions”, “1-minute timeframe trade conditions”, “5-minute timeframe trade conditions”, “15-minute timeframe trade conditions”, “30-minute timeframe trade conditions”, “1-hour timeframe trade conditions”, “4-hour timeframe trade conditions”, “Daily timeframe trade conditions”.
These sections include the same 10 trade conditions, that can be used independently, or in combination with each other. This brings the total number of trade conditions to 70.
The final section includes a standard option to adjust the current Ichimoku values.
Understanding the Calculations:
The term “future” refers to a value that is calculated 26 candles to the right of the most recent closing price.
The term “current” refers to a value that is calculated on the most recent closing price.
The term “past” refers to a value that is calculated 26 candles to the left of the most recent closing price.
Bullish is referred to as “blue” and bearish is referred to as “red”.
Buy Signals:
1. The current closing price is greater than the current cloud value.
2. The future cloud is blue.
3. The current closing price is greater than the current conversion line.
4. The current conversion line is greater than the current baseline.
5. The lagging span is greater than the closing price of the last 25 candles.
6. The lagging span is greater than the past cloud.
7. The lagging span is greater than the past conversion line and the past baseline.
8. The current conversion line is greater than the current cloud.
9. The current baseline is greater than the current cloud.
10. The value of the current cloud to the future cloud is completely blue.
Sell Signals:
1. The current closing price is less than the current cloud value.
2. The future cloud is red.
3. The current closing price is less than the current conversion line.
4. The current conversion line is less than the current baseline.
5. The lagging span is less than the closing price of the last 25 candles.
6. The lagging span is less than the past cloud.
7. The lagging span is less than the past conversion line and the past baseline.
8. The current conversion line is less than the current cloud.
9. The current baseline is less than the current cloud.
10. The value of the current cloud to the future cloud is completely red.
The script enables users to access the value of these 10 trade conditions across the 7 major time frames (1-minute, 5-minute, 15-minute, 30-minute, 1-hour, 4-hour, Daily, and the current charts time frame) by using the official non repainting request security function provided by Trading View:
f_secSecurity(_src, _res, _exp) =>
request.security(_src, _res, _exp )
This indicator provides up to 70 variables (10 variables X 7 timeframes) that can be used separately, or in combination to generate signal labels.
Enhance your visual analysis with a color-changing baseline and candle colors that adapt to signal shifts, offering an immediate understanding of market trends. The base line will change from gray to blue/red which will reference the most previously plotted signal label. This change in color indicate that the conditions from the most recently plotted signal label have been met once again. Please refer to the example below.
Adjustments to the Ichimoku Indicator:
The script uses a slightly refined version of the Ichimoku indicator to calculate 10 different “trade conditions”. Each trade condition can create 1 bullish signal label and 1 bearish signal label. The calculations are primarily based on “greater than and less than logic” which is standard for signal generation.
In the original Ichimoku calculations, the “Lagging Span” has a default value of 26 periods. In the actual calculations, this input with the title “Lagging Span” is referred to as the “displacement”. When the lagging span is plotted on the chart, it is plotted with an offset value of offset = -displacement + 1 which technically plots the lagging span 25 candles to the left the most recent candle (if you count the most recent closing price as 0 and not 1). The clouds are plotted with an offset of offset = displacement -1 which technically plots the clouds 25 candles to the right of the most recent candle.
I have adjusted the logic of the Ichimoku indicator so the lagging span is still plotted 25 candles to the left of the most recently confirmed candle close, but the cloud is plotted 26 candles to the right of the most recent confirmed candle close.
This seemingly small adjustment of one candle cannot simply be adjusted in the settings of the original Ichimoku indicator since the calculations of the cloud and lagging span displacements are directly affected by the same value (displacement = 26, also known as the “lagging span”). My script is adjusted to make calculations where the lagging span is 25 candles to the left of the most recent candle, and the cloud is displaced 26 candles to the right of the most recent candle.
For example, my scripts logic to detect if the current closing price is over the current cloud is (close > leadLead1 and close > leadLine2 and leadLine1 > leadLine2 . By using a lookback of , the logic assumes that the displaced value is 26 bars to the right of the most recent candle. My script also reflects this logic in the plotted values of the cloud where the offset values are offset = displacement. This adjustment is made without affecting any other part of the Ichimoku indicators calculations, only the displacement of the cloud which directly affects the logic of trade conditioins. This change is a deliberate and necessary function of this script’s logic to generate trade conditions and signal labels.
I’ve removed the conversion line and the lagging span and introduced a 26-period pivot high/low to provide a less cluttered chart. The pivot high/low looks 26 periods to the left and only 1 period to the right. The lagging span and conversion line logic is still built into the framework of the trading signals. If you choose to enable the lagging span, or conversion line.
trading approach, and always test your strategies thoroughly.
The function to generate the "Signal Labels" calculates every single possible combination of the 7 different timeframes which is a total of 127 combinations for bullish signal labels, and 127 combinations for bearish signal labels. This function also provides the necessary criteria for the strategy entry conditions, based on the dynamically calculated values derived from the signal labels themselves. For example: "buy signal on 1 minute and 5 minute timeframe" is considered 1 combination, and "Buy signal on current, 5 minute, 15 minute, 30 minute, 1 hour, 4 hour and daily timeframe" is also considered 1 combination. There are a total of 254 combinations between buy and sell signal labels along with 254 individual variables with their own unique tool tip description. The signal label function alone spans over 1340 lines of code (minus spaces and comments) to specifically account for every possible variable combination. This unique and original function also calculates the signal label "value" which is the number you see on the signal label. This function adjusts the amount of labels plotted, the value and description of all labels based on the timeframe settings "single"/"multiple", the use of "use current timeframe" setting, and the "trade schedule". This signal label function has been a landmark piece of code for me in my endeavor to create and optimize my strategies based on its ability to provide an in depth analysis of the timeframes used when generating signal labels. This function is main reason that this script has been published closed source.
Back tested results.
The current results are from US30 (Dow Jones Industrial Average CFD) on the 5-minute timeframe using regular candles. The inputs are as follows:
Stop loss = 5000 pts
No take profit.
Trail activation = 100 pts
Trail offset = 100 pts
Don’t allow trade reversals
Trade 24/7
Timeframe = multiple
Show absolute signals
Use current timeframe, lag span over/under candles
Use 30m timeframe, all cloud is bull/bear
Initial capital = $10,000 USD, 1 contract, $0.07 per contract, slippage = 3 ticks, use bar magnifier = on
Timeframe = June 1st, 2023 – November 10th, 2023, risk = 5% (greatest loosing trade = $500.44)
Bullish Divergence Short-term Long Trade FinderThis script is a Bullish divergence trade finder built to find small periods where Bitcoin will likely rise from. It looks for bullish divergence followed by a higher low as long as the hour RSI value is below the 40 mark, if then it will enter an long. It marks out Buy signals on the RSI if the value dips below 'RSI Bull Condition Minimum' (Default 40) on the current time frame in view. It also marks out Sell signals found when the RSI is above the 'RSI Bearish Condition Minimum' (Default 50). The sell signals are bearish divergence that has occurred recently on the RSI. When a long is in play it will sell if it finds bearish divergence or the time frame in view reaches RSI value higher than the 'RSI Sell Value'(Default 75). You can set your stop loss value with the 'Stop loss Percentage' (default 5).
Available inputs:
RSI Period: relative strength measurement length(Typically 14)
RSI Oversold Level: the bottom bar of the RSI (Typically 30)
RSI Overbought Level: the top bar of the RSI (Typically 70)
RSI Bearish Condition Minimum: The minimum value the script will use to look for a pivot high that starts the Bearish condition to Sell (Default 50)
RSI Bearish Condition Sell Min: the minimum value the script will accept a bearish condition (Default 60)
RSI Bull Condition Minimum: the minimum value it will consider a pivot low value in the RSI to find a divergence buy (Default 40)
Look Back this many candles: the amount of candles thee script will look back to find a low value in the RSI (Default 25)
RSI Sell Value: The RSI value of the exit condition for a long when value is reached (Default 75)
Stop loss Percentage: Percentage value for amount to lose (Default 5)
The formula to enter a long is stated below:
If price finds a lower low and there is a higher low found following a lower low and price has just made another dip and price closes lower than the last divergence and Relative strength index hour value is less than 40 enter a long.
The formula to exit a long is stated below:
If the value drops below the stop loss percentage OR (the RSI value is greater than the value of the parameter 'RSI Sell Value' or bearish divergence is found greater than the parameter 'RSI Bearish Condition Minimum' )
This script was built from much strategy testing on BTC but works with alts (occasionally) also. It is most successful to my knowledge using the 15 min and 7 min time frames with default values. Hope it helps! Follow for further possible updates to this script or other entry or exit strategies.
snapshot:
I only have a Pro trading view account so I cannot share a larger data set about this script because the buy signals happen pretty rarely. The most amount that I could find within a view for me was 40 trades within a viewable time. The suggested/default parameters that I have do not occur very often so it limits the data set. Adjustments can be made to the parameters so that trades can be entered more often. The scripts success is dependent on the values of the parameters set by the user. This script was written to be used for BTC/USD or BTC/USDT trading. I am unable to share a larger dataset without putting out results that are intended to fail or having a premium account so reaching the 100 trade minimum is not possible with my account.
[pAulseperformance] PSStrategyX█ OVERVIEW
This script reduces the amount of time it takes to turn your indicator into a live trading bot.
It will convert your signals into alerts that will be sent to your exchange for trading.
The script features a broker connector to automate alert syntax and connect with third-party exchanges to live trade strategies with minimal setup.
It also includes an enhanced version of the built-in backtester with customizable options to speed up backtesting, trade-by-trade statistics, and a chart strategy summary to help traders make informed decisions.
The PSStrategyX trading tool is designed to provide traders with a range of benefits, including:
Increased confidence in their strategies.
Better understanding of the accuracy of indicator signals.
Simplified automated trading through third-party broker connections.
Reduced time to develop strategies by focusing on signal development only. No need to work with complicated strategy testing code and 3rd party automation.
█ FEATURES
Broker Connector
— Supports Autoview (More Connectors added in the future)
— Connects and auto trades with most exchanges
— No need for Webhooks (AutoView)
— Can forward test live strategies on Testnets before using real money.
Built in Backtester loaded with options to speed up backtesting
— Standard strategy features including stop loss, take profit, and various filters reduce the time and complexity involved in building a working strategy.
Trade By Trade Statistics
— Gain insight on every trade with additional trade-by-trade statistics.
Strategy Summary
— Get instant feedback on your chart of your strategies performance. Visual cues and feedback give you hints on where to look and what to improve.
Strategy Tester Enhancements
— Take the max trades allowed in the strategy tester without errors.
— Take the largest or smallest trade allowed without errors.
█ WHY?
The PSStrategyX tool was developed to solve a common problem faced by traders who use Pine Script on TradingView: the inability to integrate Pine Script with exchanges through TradingView.
Without this integration, traders need to go through several extra steps to live trade their Pine Script strategies on a real exchange with real money. This includes finding a broker, learning the new syntax for the broker, and placing that syntax correctly in the strategy.
These steps can be time-consuming and add complexity to the codebase.
The PSStrategyX tool simplifies this process by automatically configuring the correct alert syntax to connect to third-party exchanges, allowing traders to live trade their strategies with minimal setup. This saves traders time and effort, allowing them to focus on signal development rather than complicated strategy testing code and 3rd party automation.
Additionally, the tool was developed to address the time-consuming task of converting any one of the thousands of great free indicators on TradingView to strategies through hours of coding.
Overall, I built the PSStrategyX to streamline the auto trading process and make auto trading more accessible to traders of all levels.
█ HOW TO USE THIS?
Using the PSStrategyX trading tool is a straightforward process that requires a few key steps:
1 — Generate trading signals: You need a signal generator that can provide buy and sell signals for your preferred trading instrument(s).
You can use TradingView's indicators or create your own custom indicators using TradingView's Pine programming language.
2 — Connect trading signals to PSStrategyX: You will use 2 scripts on your chart. One generates buy/sell/exit signals, and the other is the PSStrategyX script executing those signals as trades.
To set this up you will need to make sure that your signal generator is an indicator, NOT a strategy.
Make sure the signals are being plotted buy = 1; sell = -1; exit = 0; signals in one plot. Exits are optional.
Example plot(buy ? 1 : sell ? -1 : exit ? 0 : na)
You will choose the plot with buy/sell/exit signals inside the PSStrategyX tool to execute trades. If you need help, check out the docs for more details.
3 — Set up the broker connector (optional): If you want to take live trades with this tool, you will need to set up a third party connecter. Once set up, everything is automated. See more details in the "authors instructions." at the bottom of this post.
4 — Set up an exchange account (optional): If you want to trade on an exchange, you will need to set up an account with the exchange you plan to use.
The Broker Connector supports a range of popular exchanges, including Binance, Bitfinex, Kraken, Oanda and more.
Once you have generated your trading signals, set up the Broker connecter (optional) and set up an exchange account (optional), you can start using the PSStrategyX trading tool to execute trades automatically based on your trading signals.
█ LIMITATIONS
Here are some important limitations to keep in mind when using the PSStrategyX trading tool:
General:
— Once the alert is sent, there is no way to monitor positions on any exchange. The order will be processed by the broker connector and sent to the exchange.
While this usually works fine, it's important to check the log for errors.
Sometimes the broker connector may fail to process the order, or the exchange may not process it for various reasons.
— The tool sends TP/SL orders with the entry order when possible to protect your order in case of errors or if you lose a connection.
However, not all exchanges accept TP/SL orders, and sometimes your entry order will be left unprotected.
FIFO:
— This tool DOES NOT support the First In First Out (FIFO) method for closing positions.
— Instead, it uses the ANY method. There currently is no way to make this variable.
█ FAQ
What does PSStrategyX do exactly?
PSStrategyX is a strategy enhancing, backtester, forwardtester, automation and simulation tool. It's NOT a signal generator, and does not produce buy/sell signals by itself. You provide buy/sell signals, and PSStrategyX will put those signals on steroids...basically.
PSStrategyX helps you figure out what indicators actually work. Without wasting time learning how to code.
Why did you choose AutoView for this tool?
AutoView offered the best integration I could find. They allow you to connect to test exchanges for free, which is great for practicing without using real money. They also work without using webhooks, which means you can live trade without paying for Tradingview pro. Additionally, AutoView supports many different exchanges. I don't work for AutoView, but if you sign up through my referral link and purchase a paid version, I earn a commission.
Why doesn't Tradingview automatically connect Pine Script to exchanges?
This is a great question, but unfortunately I don't have the answer. It would definitely be helpful if Tradingview provided this feature, but it might also put some brokers out of business.
How do I get access?
DON'T ask for access in the comments.
DO review the "Authors Instructions" on this page for details.
Simple SuperTrend Strategy for BTCUSD 4HHello guys!, If you are a swing trader and you are looking for a simple trend strategy, you should check this one. Based in the supertrend indicator, this strategy will help you to catch big movements in BTCUSD 4H and avoid losses as much as possible in consolidated situations of the market
This strategy was designed for BTCUSD in 4H timeframe
Backtesting context: 2020-01-02 to 2023-01-05 (The strategy has also worked in previous years)
Trade conditions:
Rules are actually simple, the most important thing is the risk and position management of this strategy
For long:
Once Supertrend changes from a downtrend to a uptrend, you enter into a long position. The stop loss will be defined by the atr stop loss
The first profit will be of 0.75 risk/reward ratio where half position will be closed. When this happens, you move the stop loss to break even.
Now, just will be there two situations:
Once Supertrend changes from a uptrend to a downtrend, you close the other half of the initial long position.
If price goes againts the position, the position will be closed due to breakeven.
For short:
Once Supertrend changes from a uptrend to a downtrend, you enter into a short position. The stop loss will be defined by the atr stop loss
The first profit will be of 0.75 risk/reward ratio where half position will be closed. When this happens, you move the stop loss to break even.
Like in the long position, just will be there two situations:
Once Supertrend changes from a downtrend to a uptrend, you close the other half of the initial short position.
If price goes againts the position, the position will be closed due to breakeven.
Risk management
For calculate the amount of the position you will use just a small percent of your initial capital for the strategy and you will use the atr stop loss for this.
Example: You have 1000 usd and you just want to risk 2,5% of your account, there is a long signal at price of 20,000 usd. The stop loss price from atr stop loss is 19,000. You calculate the distance in percent between 20,000 and 19,000. In this case, that distance would be of 5,0%. Then, you calculate your position by this way: (initial or current capital * risk per trade of your account) / (stop loss distance).
Using these values on the formula: (1000*2,5%)/(5,0%) = 500usd. It means, you have to use 500 usd for risking 2.5% of your account.
We will use this risk management for apply compound interest.
Script functions
Inside of settings, you will find some utilities for display atr stop loss, supertrend or positions.
You will find the settings for risk management at the end of the script if you want to change something. But rebember, do not change values from indicators, the idea is to not over optimize the strategy.
If you want to change the initial capital for backtest the strategy, go to properties, and also enter the commisions of your exchange and slippage for more realistic results.
Signals meanings:
L for long position. CL for close long position.
S for short position. CS for close short position.
Tp for take profit (it also appears when the position is closed due to stop loss, this due to the script uses two kind of positions)
Exit due to break even or due to stop loss
Some things to consider
USE UNDER YOUR OWN RISK. PAST RESULTS DO NOT REPRESENT THE FUTURE.
DEPENDING OF % ACCOUNT RISK PER TRADE, YOU COULD REQUIRE LEVERAGE FOR OPEN SOME POSITIONS, SO PLEASE, BE CAREFULL AND USE CORRECTLY THE RISK MANAGEMENT
The amount of trades closed in the backtest are not exactly the real ones. If you want to know the real ones, go to settings and change % of trade for first take profit to 100 for getting the real ones. In the backtest, the real amount of opened trades was of 194.
Indicators used:
Supertrend
Atr stop loss by garethyeo
This is the fist strategy that I publish in tradingview, I will be glad with you for any suggestion, support or advice for future scripts. Do not doubt in make any question you have and if you liked this content, leave a boost. I plan to bring more strategies and useful content for you!
Mean reversal QFL v3My aim is to make the bots trade as you would trading QFL manually and “by the book” or at least to my experience and understanding from the material out there of how you should plan a QFL trade.
Im absolutely not a pro trader, I have made my share of costly mistakes trying to be clever or Beeing impatient resulting in painful losses. QFL is we’re I’ve had consistently good results tough.
Is this where I have to say I’m not a financial advisor and all that? Well I’m not. As always Do your own research and backtest, backtest, backtest.
First: I believe no bot strategy are set and forget, while they can run unattended 80-90% of the time you're always going to find yourself in a situation where you will have to manually handle a bad deal. It would also make sense to be somewhat involved in the really good trades making the most out of them. That’s why understanding the strategy the bot Is using is really important, hence why I prefer QFL. It's an easy concept to understand, and proved to be a safe way of making steady profit in pretty much all market conditions if done right.
Some changes in how aggressive you are might be needed if you are the impatient kind of trader who needs to see a lot of deals happening. But it is an added risk. In those cases Luc would advise to start “nibbling” but that would be hard to implement in a bot but I will see if that’s something I can implement.
Same goes for going the more conservative route when market conditions calls for it.
QFL stands for Quickfingersluc, and sometimes it is referred to as the Base Strategy or Mean Reversals. Its main idea is about identifying the moment of panic selling and buying below the base level and utilizing Safety orders.
Base level or Support Level refers to the lowest price level that was reached before the moment the price started increasing again. At that level, you can notice that buyers of some cryptocurrencies make a strong reaction.
As a bit of a learning material i want to make a few points on important factors in trading using the QFL strategy:
• Identify strong bases
• Read the history of the chart
• No emotions
Trading QFL using a bot has it’s limitations:
· Some of the bases are questionable but im constantly trying to improve this
· The strategy don’t take into consideration chart history(success rate)*
· You need to follow a predefined (by you) buying ladder, hence not considering a particular coin's average price movement, which may vary quite a lot. This why I for now has limited the strategy to SIMPLE bots. So that unique alerts can be created for each pair.
· A set Take profit %, possibly making you miss out on higher profits(This is easy to change during a trade though), and no chance of selling in layers(This is coming soon).
1. Some of the bases are questionable
The strategy will start trades of bases that you wouldn’t consider being a strong base(or a base at all) when looking at the chart.
For those not as familiar with QFL. What is a base, and what qualifies as a strong base?
• A base is also called the Support Level, which is the lowest price level that was reached before the price started turning and increasing again.
• A strong base is recognized by a steep fall in price after breaking the base(Panic), followed by a big reaction pump.
• The reaction pump is the most important factor to say that it is a strong base.
• And also the last base, the one you are trading of is the one that counts
Tip: Look for V shapes on the chart, easy to spot when zoomed out.
2. The integrated signals don’t take into consideration chart history(success rate)*
How can you assess the success rate by looking at the chart?
After finding the bases based on the criterias from the 1st point. Looking at the, how many times did it respect the base after breaking it? 7/10, 8/10, 9/10 times? Great! Chances of the next trade also respecting the base is big, and I would consider raising the TP on that deal. Any lower than that I would keep a really close eye on the deal, or even consider closing the deal. And again remember the last base is the one that counts. If all the others are nice strong bases but that last one you are about to take a trade off is no good the base is invalidated so be cautious.
3. You need to follow a predefined (by you) buying ladder
Crypto is volatile, and there is a huge variation in price movements on all the coins.
Trading manually, looking at the chart gives you a good idea on how much a coin on avg. drops below base, and how big the following reaction is. This gives you an indication on how deep you need to set your layers, and where you can take profit.
Using the strategy you have the backtester to see how much max deviation has been in the past so that you can figure out what the optimal max deviation is.
4. A set Take profit %, possibly making you miss out on higher profits(This is easy to change during a trade though), and no chance of selling in layers.
Not going to say to much about this other than what I often do is:
When a bot has started a trade I usually take a look at the chart. If I like what I see, nice chart history, success rate and trading of a strong previous base etc, with the current base break resulting in a panic drop I will consider increasing the TP so that it will make more profit. This can be a bit risky but also very rewarding. Imagine filling all safeties and then selling just below base! Massive profits!! (Gotta be honest though, almost never stretch it that far with a bot though, but it is a possibility) .
If you have studied the chart and concluded that this particular trade has a 90% chance of success, there isn’t really any reason not to place TP just below base. This is where I would like to have the option of layering my sell orders as well so its something im working on implementing.
Trailing is an option in 3commas, but it’s slow to place orders making you miss a selling opportunity when the coin makes a sudden spike up.
ABOUT THIS STRATEGY
In this strategy we can also reverse the strategy and go short. But i must warn you that that is alot riskier.
QFL is meant to be used on higher TF's like 1hr, 2hr and 4hr. But this strategy also work well on lower Timeframes.
The script also simulates DCA strategy with parameters used in 3commas DCA bots for futures trading.
Experiment with parameters to find your trading setup.
Beware how large your total leveraged position is and how far can market go before you get liquidated!
Do that with the help of futures liquidation calculators you can find online!
Included:
An internal average price and profit calculating, instead of TV`s native one, which is subject to severe slippage.
A graphic interface, so levels are clearly visible and back-test analyzing made easier.
Long & Short direction of the strategy.
Table display a summary of past trades
Vertical colored lines appear when the new maximum deviation from the original price has
been reached
All the trading happens with total account capital, and all order sizes inputs are expressed in percent.
How to use:
- Add the script to the current chart
- Open the strategy settings
-Tweak the settings to to your liking.
-Make a SIMPLE bot in 3commas and use the same settings as you did in tradingview if you only want the strategy to send signals to open a deal and let 3commas handle the rest.
If you check safety orders, Take profit deal stop and Stop loss. The strategy will send all the orders to 3 commas. If that’s what you want set TP in 3commas to 50% set number of safety orders to 0 and keep stop loss unchecked.
- Insert bot details using the deal start condition message found in your 3commas bot.
- When happy, right click on the "..." next to the strategy name, then "Add alert'".
- Under "Condition", on the second line, chose "Any alert () function call". Add the webhook from 3commas( 3commas.io ), give it a name, use {{strategy.order.alert_message}} as a placeholder message and "create".
In the future this signal might make it to the 3commas marketplace. You can then subscribe to that signal where I have cherrypicked coins based on thorough backtesting and optimization.
How to obtain access to the script: send me a private message in Tradingview
RELATIVE VALUE TRADE MANAGEMENT WEBHOOKThis script it's created to send open-close signals via webhook. It allows you to open a relative value position based in the relative graph. You can set the TP and SL levels and the script will send the signal to your exchange.
Due a pine limitations it is necessary apply the script in the 2 different actives and set the alerts. You can just do the relative analysis and then go to the first asset and set the script. Create your alert and then just go to the other asset and create the alert. It doesn't necessary to change anything in the script because the levels are the same.
It is also possible to do the analysis using the script, deploying the relative graph, but could be annoying sometimes due scales.
Positions will be placed at close always.
THIS IS IMPORTANT: I use Zignaly as a exhange so if you are using Binance or other YOU MUST CHANGE the code. If you know the JSON format that It requires would be easy.
Here is tips in all the important imputs. But let me explain the most important.
The MANDATORY fields are:
Ticker IDs: Here you must write the EXACT ID code for the active. Caps included.
Example : BINANCE:SUSHIUSDTPERP
It is also important select the correct market side. If you want to be long of ANY active you must write that ID in the LONG ID. For short positions is the same.
Time frame: Here you can select the time frame of the graph (not the current active graph, I mean the relative one.) The orders will be send using that time frame. I recommend to do the analysis in other window and then use the script to trigger the order in the time frame that you want.
Money management: In these fields you can select the qty that you will lose if the SL level is reach. Based in a determinated amount of currency or in a % of your capital.
Dates: It is important to select the start date. If the order is already open, we must look for the moment where the activation price was reached. If the order is unopened it is better to select the current date, so the order will be triggered when the entry level is reached.
Ids: If you have current open position you can set here that ID to send the correct order to the exchange.
To set the alert just call the function {{{strategy.order.alert_message}}}
Instrument-Z (3Commas Bot)Instrument-Z is what I am currently using as my 3Commas Bot.
It allows you to customize signals from 3 indicators; Crossing MA's, Stochastic RSI, and WaveTrend.
Better yet, it allows you to setup these signals separately depending on whether the Trend MA is going up or down.
So there are 2 sets of inputs for everything, Uptrend inputs and Downtrend inputs.
I have realized that we can't expect a strategy to work the same way in an uptrend vs downtrend, so the inputs should be separated too.
In my testing, separating increased the net profit by 60% on average.
You can select whether you are trading Long or Short.
You can choose your stop loss and take profit levels as well as trade expiration.
You can choose if you only want to trade with the trend (making the opposing signals irrelevant).
The trend is based on the Trend MA.
This script is specifically for cryptocurrencies.
I've noticed that MA crosses on other asset classes are unreliable because the fluctuations are not strong enough to push the MA's across each other in a meaningful way.
If you want to use this as a 3Commas Bot, then you will have to copy the code of the strategy and paste it into your own personal script.
Then you have to change the alert messages at the bottom of the script.
Make sure to change your alert message from this;
{"message_type": "bot", "bot_id": 0000000, "email_token": "0b000a0a-0aa0-00aa-0aa0-000a00000a0a", "delay_seconds": 0}
To this;
{\n\"message_type\": \"bot\",\n\"bot_id\": 0000000,\n\"email_token\": \"0a000a0a-0aa0-00aa-0aa0-000a00000a0a\",\n\"delay_seconds\": 0\n}
With \n after each new line and \ before each quotation.
In the Alert setup, select "alert() function calls only".
This indicator is like a middle ground of complexity between the Juicy Trend indicator and the Instrument-A indicator.
And because it does not feature my neural network project, I have made it open script.
Enjoy!
BollingerBands Strat + pending order alerts via TradingConnectorSoftware part of algotrading is simpler than you think. TradingView is a great place to do this actually. To present it, I'm publishing each of the default strategies you can find in Pinescript editor's "built-in" list with slight modification - I'm only adding 2 lines of code, which will trigger alerts, ready to be forwarded to your broker via TradingConnector and instantly executed there. Alerts added in this script: 14, 17, 20 and 23.
SCRIPT INCLUDES PENDING ORDERS AND ALERTS! Alert will be sent to MetaTrader when order is triggered, but not yet filled. That means if market conditions change and order does not get filled, it needs to be cancelled as well, and there are alerts for that in the script as well.
How it works:
1. TradingView alert fires.
2. TradingConnector catches it and forwards to MetaTrader4/5 you got from your broker.
3. Trade gets executed inside MetaTrader within 1 second of fired alert.
When configuring alert, make sure to select "alert() function calls only" in CreateAlert popup. One alert per ticker is required.
Adding stop-loss, take-profit, trailing-stop, break-even or executing pending orders is also possible. These topics have been covered in other example posts.
This routing works for Forex, indices, stocks, crypto - anything your broker offers via their MetaTrader4 or 5.
Disclaimer: This concept is presented for educational purposes only. Profitable results of trading this strategy are not guaranteed even if the backtest suggests so. By no means this post can be considered a trading advice. You trade at your own risk.
If you are thinking to execute this particular strategy, make sure to find the instrument, settings and timeframe which you like most. You can do this by your own research only.
MACD, EMA, Know sure thing, Chopy Market StrategyHey there :)
This is the free version of the script. The following indicators / settings are missing:
- Support and resistance zones
- dynamic textboxes for alarms when using bots (3 Commas, Alertatron, etc.)
- a table showing the current position, indicators and other important information
With this script there is the possibility to completely customize the MACD . Starting with the MACD and signal line, the histogram and the color of the histogram.
Since the Pinecoders team has previously deleted the script, I will mention the fee settings in a bit more detail:
In this script a fee of 0.01% and a slipage of 15 was used. With each trade the total capital (100%) is used with a risk reward of 1 to 1.5.
The total capital, i.e. the risk, can be changed at any time under the "Settings" tab at "Equity".
I also added an EMA , the Know sure thing indicator and the Chopy Market indicator (by TradingRush) to the script to filter out bad trades.
The EMA:
Since the EMA is very reliable and shows whether there is an upward or downward trend, it should be used with the indicators in any case. It prevents long trades in downward movements and vice versa.
The KST Indicator:
The KST indicator has a similar movement as the MACD , but is by and large a bit more time delayed. It filters out false swings of the MACD and thus prevents bad trades.
The Chopy Market Indicator by Tradingrush:
The Chopy Market indicator, which was introduced by TradingRush in one of its videos, has the ability to detect sideways markets and block zones below this line for trades by means of a fixed value (the line).
To exit the trades, I added the following options:
ATR Exits. Exits based on past candles (lowest low, highest high).
Static exits based on set percentages.
In the next days I will create a tutorial for the script, just have a look on my profile.
If you have any questions about the script, let me know.
MACD, EMA, Know sure thing, Chopy Market - high adaptabilityHey there :)
This is the free version of the script. The following indicators / settings are missing:
- Support and resistance zones
- dynamic textboxes for alarms when using bots (3 Commas, Alertatron, etc.)
- a table showing the current position, indicators and other important information
With this script there is the possibility to completely customize the MACD . Starting with the MACD and signal line, the histogram and the color of the histogram.
Since the Pinecoders team has previously deleted the script, I will mention the fee settings in a bit more detail:
In this script a fee of 0.01% and a slipage of 15 was used. With each trade the total capital (100%) is used with a risk reward of 1 to 1.5.
The total capital, i.e. the risk, can be changed at any time under the "Settings" tab at "Equity".
I also added an EMA , the Know sure thing indicator and the Chopy Market indicator (by TradingRush) to the script to filter out bad trades.
The EMA:
Since the EMA is very reliable and shows whether there is an upward or downward trend, it should be used with the indicators in any case. It prevents long trades in downward movements and vice versa.
The KST Indicator:
The KST indicator has a similar movement as the MACD, but is by and large a bit more time delayed. It filters out false swings of the MACD and thus prevents bad trades.
The Chopy Market Indicator by Tradingrush:
The Chopy Market indicator, which was introduced by TradingRush in one of its videos, has the ability to detect sideways markets and block zones below this line for trades by means of a fixed value (the line).
To exit the trades, I added the following options:
ATR Exits. Exits based on past candles (lowest low, highest high).
Static exits based on set percentages.
In the next days I will create a tutorial for the script, just have a look on my profile.
If you have any questions about the script, let me know.
SuperTrend - Custom Screener and Dynamic AlertsTrading View today published a desktop Bad Internet connection indicator ?! which set me thinking…
Despite recently introduced Dynamic Alerts many scripts do not leverage the information available for active traders and traders on the GO!
So decided to share this script totally ALERT focused on one of the most popular DAY trading indicators.
Of course no more BAD internet problem as long your TV APP is configured , you will have enough data for a mental picture of the chart..
The Alerts give you the BAR Close , %percent gain or loss over previous day CLOSE ++ Previous Day High and Low to effectively plan your trade without a chart!(just in case)
2 additions in the way Alerts are delivered over the last script :
1. You get SUMMARY alerts or concatenated alerts by default , however if you uncomment or activate code lines 48 and 55 you will get individual Stock alerts Too!
2. Summary Alerts will come only if there is some Buy or Sell signal NO more empty Alerts!
Few useful EXTRAS in the code :
1. Flexible code can convert any indicator to screener or Alert function.
2. You will NOT get Mutable Variable error while converting any indicator to screener as long as the function is in "GLOBAL" scope..
3. Many Custom Screeners are available but few give OHLC data in output so easily…and very difficult for traders to MODIFY hundreds of lines of code..
4. For UP or DOWN on SCREEN Stock monitoring copy /paste functions in line 41 and 42 in lieu of CROSS functions in 44 and 51 respectively..
5. You can also uncomment/activate lines 66 and 67 for labels in monitoring.
6. The default mode of the scripts is set to Alerts!
Max Stocks only 20!
Finally idea is to help traders to use the great features that TV works so hard to create and constantly improvise.
Enjoy Profitable Trading on the Fly !!
SignalCAVE Strategy BuilderYou can create strategies without writing single line of Pine Script code!
Do backtesting, set alerts and explore algorithmic trading with using SignalCAVE Strategy Builder on TradingView.
SignalCAVE Strategy Builder for TradingView
SignalCAVE is a tool that help you to create strategies in TradingView. SignalCAVE offers flexible strategy builder panel enabling users to backtest and set alerts with custom conditions (selected indicators and parameters).
CAPABILITIES
You can define rules and conditions for “Long” and “Short” signals.
“Stop Loss” or “Take Profit” functions can be activated with providing percentage values.
“Only Long”, “Only Short” or both “Long and Short” signals can be used at the same time.
Available Indicators
EMA, SMA, WMA, HMA, RSI, MACD, Stochastic, Bollinger Bands, SuperTrend, Parabolic SAR, DMI, ATR, CCI, CMF, ROC, Ichimoku, OHLC Prices
How to Set Strategy Rules?
On SignalCAVE strategy settings screen, there are four types of input groups. You can populate these input boxes based on your strategy.
A: First indicator’s parameter and index value selection area
First Input: First indicator selection.
Second Input: First indicator’s parameter selection. If you want to use default parameters, select “Default Parameters”. If you want to use custom parameters, select “Custom Parameters”. If your selection was custom, then you need to fill “P:A” input boxes to assign your custom parameter.
Third Input: First indicator’s index selection. Default parameter is “0”, If you want to get previous value of indicator/price, you can type positive numbers.
?: Condition and Interval selection area.
You can select “Upper (>), Lower (<), Upper or Equal (>=), Lower or Equal (<=), CrossOver (⬆), CrossUnder (⬇)” conditions and time frame interval for calculation both first (A:) and second (B:) indicator.
B: Second indicator’s parameter and index value selection area
First Input: Second indicator selection.
Second Input: Second indicator’s parameter selection. You may use either default parameters, or custom parameters. If your selection was custom, then you need to fill “P:B” input boxes to assign your custom parameter.
Third Input: Second indicator’s index selection. Default parameter is “0”, If you want to get previous values of indicator/price, you can type positive numbers.
P:A First indicator’s custom parameter settings. If selected indicator has less then four parameters, you can fill unnecessary fields with “0” value.
P:B Second indicator’s custom parameter settings. If selected indicator has less then four parameters, you can fill unnecessary fields with “0” value.
DASHBOARD
After you build the strategy with SignalCAVE, you can see rules and conditions on dashboard with chart view screen.
Hint: By adding multiple times of SignalCAVE strategy on your chart screen, you can build more then one strategy.
STRATEGY TESTER / BACKTEST RESULTS
You can see strategy backtest results from “Strategy Tester” panel.
By changing parameters or strategy rules (strategy optimization), you may get better results. These results does not guarantee a success for future trades.
ALERT SETTINGS
If you want to get notify about your strategy outputs (Long Entry, Long Exit, Short Entry, Short Exit, Stop, Take Profit) you can set an “Alert”.
You can click “Alert” button to create a new alert. Make sure on “Conditions” selection must be “SignalCAVE” strategy.
Paste to “Message” field exactly the text below.
{{strategy.order.alert_message}}
Hint: By setting a single alarm, you can get notifications for all outputs.
Do your alerts modifies when you change the strategy conditions or parameters?
While the strategy got updated, its alerts still use the strategy’s state from the time when we made the alert (TradingView Wiki, 2018b).
This has the advantage that, once we made a script alert, we can change the script’s input options, change chart settings, or remove the script from to the chart. All of that won’t affect our existing alert. That gives a lot of flexibility to keep interacting with the chart and script.
But there’s also a disadvantage: if we do want our script’s alerts to change, we first need to remove the existing alerts. Then we have to create and configure new alerts based on the indicator’s updated code or settings.
CHOP Zone Entry Strategy + DMI/PSAR ExitThis is a Strategy with associated visual indicators and Long/Short and Reverse/Close Position Alerts for the Choppiness Index (CHOP) . It is used to determine if the market is choppy (trading sideways) or not choppy (trading within a trend in either direction). CHOP is not directional, so a DMI script was ported into this strategy to allow for trend confirmation and direction determination; it consists of an Average Directional Index (ADX) , Plus Directional Indicator (+DI) and Minus Directional Indicator (-DI) . In addition, a Parabolic SAR is also included to act as a trailing stop during any strong trends.
Development Notes
---------------------------
This indicator, and most of the descriptions below, were derived largely from the TradingView reference manual. Feedback and suggestions for improvement are more than welcome, as well are recommended Input settings and best practices for use.
www.tradingview.com
www.tradingview.com
www.tradingview.com
Recommend using the below DMI and PSAR indicators in conjunction with this script to fully visualize and understand how entry and exit conditions are chosen. Variable inputs should correlate between the scripts for uniformity and visual compatibility.
THANKS to LazyBear and his Momentum Squeeze script for helping me quickly develop a momentum state model for coloring the Chop line by trend.
Strategy Description
---------------------------
CHOP produces values that determine whether the market is choppy or trending . The closer the value is to 100 , the higher the choppiness levels , while the closer it is to 0 , the stronger the market is trending . Territories for both levels, and their associated upper and lower thresholds, are popularly defined using the Fibonacci Retracements, 61.8 and 38.2.
Basic Use
---------------------------
CHOP is often used to confirm the market condition to help you stay out of sideways markets and only enter when there is movement or imminent explosions. When readings are above the upper threshold, continued sideways movement may be expected, while readings below the lower threshold are typically indicative of a continuing trend. It is also used to anticipate upcoming trendiness changes, with the general belief that extended periods of consolidation (sideways movement) are followed by extended periods of strong, trending, directional movement, and vice versa.
One limitation in this index is that you must be cautious in deciding whether the range or trend will likely continue, or if it will reverse.
Confidence in price action and trend is higher when two or more indicators are in agreement -- while this strategy combines CHOP with both DMI and PSAR, we would still recommend pairing with other indicators to determine entry or exit trade opportunities.
Recommend also choosing 'Once Per Bar Close' when creating alerts.
Inputs
---------------------------
Strategy Direction - an option to only trade Short, Long, Both, or only in the direction of the Trend (Follow Trend is the Default).
Sensitivity - an incremental variable to test whether the past n candles are in the same trend state before triggering a delayed long or short alert (1 is the Default). Can help filter out noise and reduces active alerts.
Show Chop Index - two visual styles are provided for user preference, a visible Chop line with a background overlay, or a compact column and label only view.
Chop Lookback Period - the time period to be used in calculating CHOP (14 is the Default).
Chop Offset - changing this number will move the CHOP either forwards or backwards relative to the current market (0 is the Default).
Smooth Chop Line and Length - if enabled, the entered time period will be used in calculating a smooth average of the index (Enabled and 4 are the Defaults).
Color Line to Trend Direction - toggles whether the index line is colored to visually depict the current trend direction (Enabled is the Default).
Color Background - toggles the visibility of a background color based on the index state (Enabled is the Default).
Enable DMI Option - if enabled, then entry will be confirmed by and dependent on the ADX Key Level, with any close or reversal confirmed by both ADX and +/-DI to determine whether there is a strong trend present or not (Enabled is the Default).
ADX Smoothing - the time period to be used in calculating the ADX which has a smoothing component (14 is the Default).
DI Length - the time period to be used in calculating the DI (14 is the Default).
ADX Key Level - any trade with the ADX above the key level is a strong indicator that it is trending (23 to 25 is the suggested setting).
Enable PSAR Option - enables trailing stop loss orders (Enabled is the Default).
PSAR Start - the starting value for the Acceleration Force (0.015 is our chosen Default, 0.02 is more common).
PSAR Increment - the increment in which the Acceleration Force will move (0.001 is our chosen Default, 0.02 is more common).
PSAR Max Value - the maximum value of the Acceleration Factor (0.2 is the Default).
Color Candles Option - an option to transpose the CHOP condition levels to the main candle bars. Note that the outer red and green border will still be distinguished by whether each individual candle is bearish or bullish during the specified timeframe.
Note too that if both DMI and PSAR are deselected, then close determinations will default to a CHOP reversal strategy (e.g., close long when below 38.2 and close short when above 61.8). Though if either DMI or PSAR are enabled, then the CHOP reversal for close determination will automatically be disabled.
Indicator Visuals
---------------------------
For the candle colors, black indicates tight chop (45 to 55), yellow is loose chop (38.2 to 45 and 55 to 61.8), dark purple is trending down (< 38.2), and dark blue is trending up (> 61.8).
The background color has additional shades to differentiate a wider range of more levels…
• < 30 is dark purple
• 30 to 38.2 is purple
• 38.2 to 45 is light purple
• 45 to 55 is black
• 55 to 61.8 is light blue
• 61.8 to 70 is blue
• > 70 is dark blue
Long, Short, Close, and Reverse labels are plotted on the Chop line, which itself can be colored based on the trend. The chop line can also be hidden for a clean and compact, columnar view, which is my preferred option (see example image below).
Visual cues are intended to improve analysis and decrease interpretation time during trading, as well as to aid in understanding the purpose of this strategy and how its inclusion can benefit a comprehensive trading plan.
DMI and Trend Strength
---------------------------
To analyze trend strength, the focus should be on the ADX line and not the +DI or -DI lines. An ADX reading above 25 indicates a strong trend , while a reading below 20 indicates a weak or non-existent trend . A reading between those two values would be considered indeterminable. Though what is truly a strong trend or a weak trend depends on the financial instrument being examined; historical analysis can assist in determining appropriate values.
DMI exits trade when ADX is below the user selected key level (e.g., default is 25) and when the +/- DI lines cross (e.g., -DI > +DI exits long position and +DI > -DI exits short position).
PSAR and Trailing Stop
---------------------------
PSAR is a time and price based indicator that excels at measuring direction and duration, though not the actual strength of a trend, which is why we use this in conjunction with DMI. It is also included in this script as a trailing stop option to maximize gains during strong trends and to mitigate any false ADX strengthening signals.
This creates a parabola that is located below the candle during a Bullish trend and above during a Bearish trend. A buy or reversal is signaled when the price crosses above or below the Parabolic SAR.
Long/Short Entry
---------------------------
1. CHOP must be over 61.8 (long) or under 38.2 (short).
2. If DMI is enabled, then the ADX signal line must be above the user selected Key Level (default is 25).
3. If Sensitivity is selected, then that past candle must meet the criteria in step 1, as well as all the intermediate candles in between.
4. If "Follow Trend" is selected and PSAR is enabled, then a long position can only open when the momentum and PSAR are in an uptrend, or short when both are in a downtrend, to include all intermediate candles if the Sensitivity option is set on a past candle.
Close/Reverse
---------------------------
1. If DMI is enabled, then a close flag will be raised when the ADX signal drops below the Key Level (of 25), and -DI crosses over +DI (if long), or +DI crosses over -DI (if short).
2. If PSAR is enabled, then a close flag will be raised when the current trend state is opposite the last state.
3. If both DMI and PSAR are disabled, then a close flag will be raised if the Chop line drops under 38.2 (if long) or goes over 61.8 (if short).
4. If a Long or Short Entry is triggered on the same candle as any of the above close flags, then the position will be reversed, else the position will be closed.
Strategy Alerts
---------------------------
1. Long Entry
2. Short Entry
3. Reverse
4. Close
The provided backtest result is based on a position sizing of 10% equity with 100k initial capital. When testing SPX, disabling the DMI performed the best, but EURUSD performed poorly without it enabled, and TSLA had a small reduction in net profit. Timeframe likewise differed between commodities with TSLA performing best at 30M, SPX at 15M, and EURUSD at 4H. I do not plan on using this as a standalone strategy, but I also was expecting better results with the inclusion of EMI and PSAR to compliment the CHOP. Key elements of this script will likely be included in future, more holistic strategies.
Disclaimer
---------------------------
Past performance may not be indicative of future results. Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting. This post and the script are not intended to provide any financial advice. Trade at your own risk.
No known repainting, though there may be if an offset is introduced in the Inputs. I did my best not to code any other variables that repaint, but cannot fully attest to this fact.
Ultimate multi-indicator strategy and script- AlphaNHBI created this to be the best multi-indicator strategy, with a matching alert script. This script is ideal for beginners, as well experienced traders who need direct indicators without any of the flashy unnecessary features. This script gets right to the point.
This strategy code was designed for the best mixture of most common indicators, allowing the user to mix and match any indicator he/she chooses. You are able to use sell signals that are either take profits and sell signals, or you are able to use the sell signals of one, or more indicators, OR you can use both (sell signals of indicators AND take profits and stop losses.)
Buying indicators allow you to use the MACD , stochastics, RSI , moving average, fibonacci, t3, Bollinger bands , fractals, and more.
This script works on anything with a chart. It can be applied to crypto, stocks, bonds, forex, etc.
If you would like the script that matches this strategy so that you can do REAL TRADING with LIVE TIME ALERTS, please DM me.
If anyone has suggestions on how to make this better, let me know! This is a growing script that I am building to be universally solid through different markets and through different market conditions!
The details of this backtest are the following:
Initial Capital: 5000
Order Size: 25%
Pyramiding: 10 (although, I don't usually use pyramiding myself, and you don't need to and you will still be largely profitable, by pyramiding definitely helps with smoothing results.)
Commission: 0.1% to match Binance fees
Crypto Trend Following StrategyThis is the strategy script indicator of Crypto Trend Following Strategy which can be used for back testing. With study script indicator, strategy can be easily automated.
To set alerts, see Crypto Trend Following Study indicator.
Script is using several moving averages to keep you on the right side of the trend. Signals are also filtered based on other indicators to prevent buying already overbought or selling already oversold coins and avoid ranging markets.
MAIN GOAL
Main goal of the strategy is long-term stable profit. No strategy has 100% accuracy therefore there always will be some false signals. But patience pays, with Trend Following Strategy, you will get couple of small loses while waiting to get big wins when coin is trending strongly. As you never know the right time you must sustain and be in all trades to make sure that you will not miss the big move.
BACKTEST
This script is for free to play with so you can back test and see for yourself how the strategy performs on any of your favourite coins.
Strategy is optimized and back tested for USDT and BTC pairs on 6h timeframe but it can be used on any pair and any timeframe.
RISK & REWARD
Strategy does not use safety orders as DCAs usually leads to bag holding sooner or later. It does not use take profit either as strategy will tell you when to buy and when to sell based on the actual market condition.
You should always use stop loss to protect your account from drawdown or even being liquidated.
You can change stop loss or take profit as you like or even back test the strategy with your preferred settings to find what suits you best.
STRATEGY SETTINGS
You can use the strategy script for fine tuning and find best settings for yourself.
If you need any help with settings do not hesitate to ask. I would also appreciate any feedback and ideas how to improve the script.
==== Indicators settings ====
RSI Long < and StochRSI Long <
• used to filter out buy signals of already overbought coins - ( stoch ) RSI must be under set value to fire a BUY signal
RSI Short > and StochRSI Short >
• used to filter out sell signals of already oversold coins - ( stoch ) RSI must be over set value to fire a SELL signal
ADX >
• used to filter out buy or sell signals in ranging markets - ADX must be over set value to fire a BUY or SELL signal
MA Fast and Slow Length
• Two moving averages to indicate an actual short-term trend
Baseline Length & Type
• Baseline is a moving average which confirms the longer-term trend. You can set length and type of the moving average
==== Test period settings ====
• You can set the back tested window
==== Strategy settings =====
• Target Take profit and Stop loss in %
• Only LONG trades – tick if you do not want to calculate SHORT trades in the back test
• Plot key levels on chart – if you use stop loss and/or take profit, you can turn on levels of price to reach (yellow – bought price, red – stop loss – green - take profit)
Back test calculates with commission and fixed order size. You can change these settings on Properties Tab
Reticulata - StrategyThis is the backtesting script for Reticulata
Reticulata is the first of many scripts to come from Bull Bear Bots. It is an early release version and supports multiple trade logics.
The script works across various markets including Forex and Cryptocurrencies.
All of our scripts are designed for manual traders but are ready to use with automated trading bots.
www.bullbearbots.com
Bollinger and Tendencies (Bollinger e Tendências )The strategy consists of buying when the price breaks up (crossover) the bottom line of the Bollinger and selling when the price breaks down (crossunder) to your top line.
The chart still shows trends clearly, with the fill between the exponential average and the closing value of the canlestick, green at high, red at low (this part of the script is based on the code: "Pivot Daily Price Color" by Rimko).
It also places notes on the high and low candlesticks (based on the code: "Candlesticks Pattern Identified" by Repo32).
It is recommended to use it in conjunction with the "IFR and Storage" script (also available to me), and some volume script.
A estratégia consiste em comprar quando o preço rompe para cima (crossover) a linha inferior do Bollinger e vender quando o preço rompe para baixo (crossunder) a sua linha superior.
O gráfico ainda mostra as tendências de forma clara, com o preenchimento entre a média exponencial e o valor de fechamento do canlestick, verde em alta, vermelho em baixa (essa parte do script é baseada no código: "Pivot Daily Price Color" do usuário: Rimko).
Também, coloca apontamentos nos candlesticks de alta e de baixa (baseado no código: "Candlesticks Pattern Identified" do usuário Repo32).
Recomenda-se a utilização em conjunto com o script "IFR e Estocagem" (também por mim disponibilizado), e algum script de volume.
Help with SMA Crossover Demo scriptHi I'm currently in the process of learning to write a script. Here's a very basic SMA 34/4 crossover script. Is somebody able to help me with adding the following functions to the script.
1. Add an alert and indicator to close a short or long trade whenever any candle touches the SMA 34 line?
2. When a SMA 34/4 Crossover has been executed (a Short Trade condition) add an alert/indicator (Titled “Add”) every time a Green bullish candle has closed.
3. When a SMA 34/4 Crossunder has been executed (a Long Trade condition) add an alert/indicator (Titled “Add) every time a Red bearish candle has closed.
4. To used on 15m/30m/1hr/2hr/4hr/1D/1W timeframe charts?
Bitcoin Trading Algo, 30,500% profit long + short. Beats HODLingREAD DISCRIPTION FIRST
Trading view have taken off the Invite Only options for scripts from free accounts and since I usually only like people I know using my scripts I have programmed my own password and Keycode system within pine script, the Keycode changes every month and is determined by a random number algorithm so you will need to know both the password and the keycode for the script to wok for you.
The objective for this strategy was to reduce the standard divination of bitcoin returns through risk management, this is done with both long and short trades. It looks to get on board when a trend is detected and adds to the position to average out all entry points. When the momentum begins to decelerate all trades are closed. 50% of these trades will usually be in profit and 50% will usually be a loss, however profits are 3x larger than losses.
To demonstrate that the deviation of retuns of the strategy is lower than hodling, I leaveraged the strategy to a similar drawdown level to hodling so that you can compare the two.
When risk adjusted, my strategy beats buy and hold returns by about 600%, although I am personally trading the strategy unleaveraged.